package dao

import (
	"admin-api/app/models/entity"
	"admin-api/core"
	"gitee.com/molonglove/goboot/gorm"
)

var UserPost = new(UserPostDao)

type UserPostDao struct{}

// Exist 条件查询岗位信息是否存在
func (u *UserPostDao) Exist(condition *gorm.DB) (bool, error) {
	var (
		total int64
		err   error
	)
	if err = condition.Model(&entity.UserPost{}).Count(&total).Error; err != nil {
		return false, err
	}
	if total > 0 {
		return true, nil
	}
	return false, nil
}

// ExistPostAllocatedUser 存在已经分配用户的岗位
// @param ids 岗位ID列表
// @return bool 存在返回true，否则返回false
func (u *UserPostDao) ExistPostAllocatedUser(ids []int64) bool {
	var (
		total int64
		err   error
	)
	if err = core.DB.Namespace("post").
		DQuery("existPostAllocatedUser", map[string]any{"Ids": ids}).
		TSelect(&total).
		Error; err != nil {
		core.Log.Error("查询存在已经分配用户的岗位异常: %s", err.Error())
		return true
	}
	if total > 0 {
		return true
	}
	return false
}
